<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
<!-- qaccessible.cpp -->
  <title>QAccessible Class | Qt GUI 5.14.2</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="../qtdoc/index.html">Qt 5.14</a></td><td ><a href="qtgui-index.html">Qt GUI</a></td><td ><a href="qtgui-module.html">C++ Classes</a></td><td >QAccessible</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right"><a href="qtgui-index.html">Qt 5.14.2 Reference Documentation</a></td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-types">Public Types</a></li>
<li class="level1"><a href="#static-public-members">Static Public Members</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">QAccessible Class</h1>
<!-- $$$QAccessible-brief -->
<p>The QAccessible class provides enums and static functions related to accessibility. <a href="#details">More...</a></p>
<!-- @@@QAccessible -->
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> Header:</td><td class="memItemRight bottomAlign">   <span class="preprocessor">#include &lt;QAccessible&gt;</span>
</td></tr><tr><td class="memItemLeft rightAlign topAlign"> qmake:</td><td class="memItemRight bottomAlign"> QT += gui</td></tr></table></div><ul>
<li><a href="qaccessible-members.html">List of all members, including inherited members</a></li>
<li><a href="qaccessible-obsolete.html">Obsolete members</a></li>
</ul>
<a name="public-types"></a>
<h2 id="public-types">Public Types</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qaccessible-state.html">State</a></b></td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#Event-enum">Event</a></b> { AcceleratorChanged, ActionChanged, ActiveDescendantChanged, Alert, AttributeChanged, &hellip;, VisibleDataChanged }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> typedef </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#Id-typedef">Id</a></b></td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> typedef </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#InterfaceFactory-typedef">InterfaceFactory</a></b></td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#InterfaceType-enum">InterfaceType</a></b> { TextInterface, ValueInterface, ActionInterface, TableInterface, TableCellInterface }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> flags </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#RelationFlag-enum">Relation</a></b></td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#RelationFlag-enum">RelationFlag</a></b> { Label, Labelled, Controller, Controlled, AllRelations }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#Role-enum">Role</a></b> { AlertMessage, Animation, Application, Assistant, Border, &hellip;, Window }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#Text-enum">Text</a></b> { Name, Description, Value, Help, Accelerator, UserText }</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> enum </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#TextBoundaryType-enum">TextBoundaryType</a></b> { CharBoundary, WordBoundary, SentenceBoundary, ParagraphBoundary, LineBoundary, NoBoundary }</td></tr>
</table></div>
<a name="static-public-members"></a>
<h2 id="static-public-members">Static Public Members</h2>
<div class="table"><table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> QAccessibleInterface *</td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#accessibleInterface">accessibleInterface</a></b>(QAccessible::Id <i>id</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#deleteAccessibleInterface">deleteAccessibleInterface</a></b>(QAccessible::Id <i>id</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#installFactory">installFactory</a></b>(QAccessible::InterfaceFactory <i>factory</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#isActive">isActive</a></b>()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QAccessibleInterface *</td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#queryAccessibleInterface">queryAccessibleInterface</a></b>(QObject *<i>object</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QAccessible::Id </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#registerAccessibleInterface">registerAccessibleInterface</a></b>(QAccessibleInterface *<i>iface</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#removeFactory">removeFactory</a></b>(QAccessible::InterfaceFactory <i>factory</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#setRootObject">setRootObject</a></b>(QObject *<i>object</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QAccessible::Id </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#uniqueId">uniqueId</a></b>(QAccessibleInterface *<i>iface</i>)</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qaccessible.html#updateAccessibility-1">updateAccessibility</a></b>(QAccessibleEvent *<i>event</i>)</td></tr>
</table></div>
<a name="details"></a>
<!-- $$$QAccessible-description -->
<div class="descr">
<h2 id="details">Detailed Description</h2>
<p>This class is part of <a href="../qtdoc/accessible-qwidget.html">Accessibility for QWidget Applications</a>.</p>
<p>Accessible applications can be used by people who are not able to use applications by conventional means.</p>
<p>The functions in this class are used for communication between accessible applications (also called AT Servers) and accessibility tools (AT Clients), such as screen readers and braille displays. Clients and servers communicate in the following way:</p>
<ul>
<li><i>AT Servers</i> notify the clients about events through calls to the updateAccessibility() function.</li>
<li><i>AT Clients</i> request information about the objects in the server. The <a href="qaccessibleinterface.html">QAccessibleInterface</a> class is the core interface, and encapsulates this information in a pure virtual API. Implementations of the interface are provided by Qt through the <a href="qaccessible.html#queryAccessibleInterface">queryAccessibleInterface</a>() API.</li>
</ul>
<p>The communication between servers and clients is initialized by the <a href="qaccessible.html#setRootObject">setRootObject</a>() function. Function pointers can be installed to replace or extend the default behavior of the static functions in QAccessible.</p>
<p>Qt supports Microsoft Active Accessibility (MSAA), macOS Accessibility, and the Unix/X11 AT-SPI standard. Other backends can be supported using QAccessibleBridge.</p>
<p>In the Unix/X11 AT-SPI implementation, applications become accessible when two conditions are met:</p>
<ul>
<li>org.a11y.Status.IsEnabled DBus property is true</li>
<li>org.a11y.Status.ScreenReaderEnabled DBus property is true</li>
</ul>
<p>An alternative to setting the DBus AT-SPI properties is to set the QT_LINUX_ACCESSIBILITY_ALWAYS_ON environment variable.</p>
<p>In addition to QAccessible's static functions, Qt offers one generic interface, <a href="qaccessibleinterface.html">QAccessibleInterface</a>, that can be used to wrap all widgets and objects (e.g&#x2e;, <a href="../qtwidgets/qpushbutton.html">QPushButton</a>). This single interface provides all the metadata necessary for the assistive technologies. Qt provides implementations of this interface for its built-in widgets as plugins.</p>
<p>When you develop custom widgets, you can create custom subclasses of <a href="qaccessibleinterface.html">QAccessibleInterface</a> and distribute them as plugins (using <a href="qaccessibleplugin.html">QAccessiblePlugin</a>) or compile them into the application. Likewise, Qt's predefined accessibility support can be built as plugin (the default) or directly into the Qt library. The main advantage of using plugins is that the accessibility classes are only loaded into memory if they are actually used; they don't slow down the common case where no assistive technology is being used.</p>
<p>Qt also includes two convenience classes, <a href="qaccessibleobject.html">QAccessibleObject</a> and <a href="../qtwidgets/qaccessiblewidget.html">QAccessibleWidget</a>, that inherit from <a href="qaccessibleinterface.html">QAccessibleInterface</a> and provide the lowest common denominator of metadata (e.g&#x2e;, widget geometry, window title, basic help text). You can use them as base classes when wrapping your custom <a href="../qtcore/qobject.html">QObject</a> or <a href="../qtwidgets/qwidget.html">QWidget</a> subclasses.</p>
</div>
<p><b>See also </b><a href="qaccessibleinterface.html">QAccessibleInterface</a>.</p>
<!-- @@@QAccessible -->
<div class="types">
<h2>Member Type Documentation</h2>
<!-- $$$Event$$$SoundPlayed$$$Alert$$$ForegroundChanged$$$MenuStart$$$MenuEnd$$$PopupMenuStart$$$PopupMenuEnd$$$ContextHelpStart$$$ContextHelpEnd$$$DragDropStart$$$DragDropEnd$$$DialogStart$$$DialogEnd$$$ScrollingStart$$$ScrollingEnd$$$MenuCommand$$$ActionChanged$$$ActiveDescendantChanged$$$AttributeChanged$$$DocumentContentChanged$$$DocumentLoadComplete$$$DocumentLoadStopped$$$DocumentReload$$$HyperlinkEndIndexChanged$$$HyperlinkNumberOfAnchorsChanged$$$HyperlinkSelectedLinkChanged$$$HypertextLinkActivated$$$HypertextLinkSelected$$$HyperlinkStartIndexChanged$$$HypertextChanged$$$HypertextNLinksChanged$$$ObjectAttributeChanged$$$PageChanged$$$SectionChanged$$$TableCaptionChanged$$$TableColumnDescriptionChanged$$$TableColumnHeaderChanged$$$TableModelChanged$$$TableRowDescriptionChanged$$$TableRowHeaderChanged$$$TableSummaryChanged$$$TextAttributeChanged$$$TextCaretMoved$$$TextColumnChanged$$$TextInserted$$$TextRemoved$$$TextUpdated$$$TextSelectionChanged$$$VisibleDataChanged$$$ObjectCreated$$$ObjectDestroyed$$$ObjectShow$$$ObjectHide$$$ObjectReorder$$$Focus$$$Selection$$$SelectionAdd$$$SelectionRemove$$$SelectionWithin$$$StateChanged$$$LocationChanged$$$NameChanged$$$DescriptionChanged$$$ValueChanged$$$ParentChanged$$$HelpChanged$$$DefaultActionChanged$$$AcceleratorChanged$$$InvalidEvent -->
<h3 class="fn" id="Event-enum"><a name="Event-enum"></a>enum QAccessible::<span class="name">Event</span></h3>
<p>This enum type defines accessible event types.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QAccessible::AcceleratorChanged</code></td><td class="topAlign tblval"><code>0x80C0</code></td><td class="topAlign">The keyboard accelerator for an action has been changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ActionChanged</code></td><td class="topAlign tblval"><code>0x0101</code></td><td class="topAlign">An action has been changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ActiveDescendantChanged</code></td><td class="topAlign tblval"><code>0x0102</code></td><td class="topAlign">&nbsp;</td></tr>
<tr><td class="topAlign"><code>QAccessible::Alert</code></td><td class="topAlign tblval"><code>0x0002</code></td><td class="topAlign">A system alert (e.g&#x2e;, a message from a <a href="../qtwidgets/qmessagebox.html">QMessageBox</a>)</td></tr>
<tr><td class="topAlign"><code>QAccessible::AttributeChanged</code></td><td class="topAlign tblval"><code>0x0103</code></td><td class="topAlign">&nbsp;</td></tr>
<tr><td class="topAlign"><code>QAccessible::ContextHelpEnd</code></td><td class="topAlign tblval"><code>0x000D</code></td><td class="topAlign">Context help (<a href="../qtwidgets/qwhatsthis.html">QWhatsThis</a>) for an object is finished.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ContextHelpStart</code></td><td class="topAlign tblval"><code>0x000C</code></td><td class="topAlign">Context help (<a href="../qtwidgets/qwhatsthis.html">QWhatsThis</a>) for an object is initiated.</td></tr>
<tr><td class="topAlign"><code>QAccessible::DefaultActionChanged</code></td><td class="topAlign tblval"><code>0x80B0</code></td><td class="topAlign">The default QAccessible::Action for the accessible object has changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::DescriptionChanged</code></td><td class="topAlign tblval"><code>0x800D</code></td><td class="topAlign">The object's <a href="qaccessible.html#Text-enum">QAccessible::Description</a> changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::DialogEnd</code></td><td class="topAlign tblval"><code>0x0011</code></td><td class="topAlign">A dialog (<a href="../qtwidgets/qdialog.html">QDialog</a>) has been hidden</td></tr>
<tr><td class="topAlign"><code>QAccessible::DialogStart</code></td><td class="topAlign tblval"><code>0x0010</code></td><td class="topAlign">A dialog (<a href="../qtwidgets/qdialog.html">QDialog</a>) has been set visible.</td></tr>
<tr><td class="topAlign"><code>QAccessible::DocumentContentChanged</code></td><td class="topAlign tblval"><code>0x0104</code></td><td class="topAlign">The contents of a text document have changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::DocumentLoadComplete</code></td><td class="topAlign tblval"><code>0x0105</code></td><td class="topAlign">A document has been loaded.</td></tr>
<tr><td class="topAlign"><code>QAccessible::DocumentLoadStopped</code></td><td class="topAlign tblval"><code>0x0106</code></td><td class="topAlign">A document load has been stopped.</td></tr>
<tr><td class="topAlign"><code>QAccessible::DocumentReload</code></td><td class="topAlign tblval"><code>0x0107</code></td><td class="topAlign">A document reload has been initiated.</td></tr>
<tr><td class="topAlign"><code>QAccessible::DragDropEnd</code></td><td class="topAlign tblval"><code>0x000F</code></td><td class="topAlign">A drag and drop operation is about to finished.</td></tr>
<tr><td class="topAlign"><code>QAccessible::DragDropStart</code></td><td class="topAlign tblval"><code>0x000E</code></td><td class="topAlign">A drag and drop operation is about to be initiated.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Focus</code></td><td class="topAlign tblval"><code>0x8005</code></td><td class="topAlign">An object has gained keyboard focus.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ForegroundChanged</code></td><td class="topAlign tblval"><code>0x0003</code></td><td class="topAlign">A window has been activated (i.e&#x2e;, a new window has gained focus on the desktop).</td></tr>
<tr><td class="topAlign"><code>QAccessible::HelpChanged</code></td><td class="topAlign tblval"><code>0x80A0</code></td><td class="topAlign">The <a href="qaccessible.html#Text-enum">QAccessible::Help</a> text property of an object has changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::HyperlinkEndIndexChanged</code></td><td class="topAlign tblval"><code>0x0108</code></td><td class="topAlign">The end position of the display text for a hypertext link has changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::HyperlinkNumberOfAnchorsChanged</code></td><td class="topAlign tblval"><code>0x0109</code></td><td class="topAlign">The number of anchors in a hypertext link has changed, perhaps because the display text has been split to provide more than one link.</td></tr>
<tr><td class="topAlign"><code>QAccessible::HyperlinkSelectedLinkChanged</code></td><td class="topAlign tblval"><code>0x010A</code></td><td class="topAlign">The link for the selected hypertext link has changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::HyperlinkStartIndexChanged</code></td><td class="topAlign tblval"><code>0x010D</code></td><td class="topAlign">The start position of the display text for a hypertext link has changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::HypertextChanged</code></td><td class="topAlign tblval"><code>0x010E</code></td><td class="topAlign">The display text for a hypertext link has changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::HypertextLinkActivated</code></td><td class="topAlign tblval"><code>0x010B</code></td><td class="topAlign">A hypertext link has been activated, perhaps by being clicked or via a key press.</td></tr>
<tr><td class="topAlign"><code>QAccessible::HypertextLinkSelected</code></td><td class="topAlign tblval"><code>0x010C</code></td><td class="topAlign">A hypertext link has been selected.</td></tr>
<tr><td class="topAlign"><code>QAccessible::HypertextNLinksChanged</code></td><td class="topAlign tblval"><code>0x010F</code></td><td class="topAlign">&nbsp;</td></tr>
<tr><td class="topAlign"><code>QAccessible::LocationChanged</code></td><td class="topAlign tblval"><code>0x800B</code></td><td class="topAlign">An object's location on the screen has changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::MenuCommand</code></td><td class="topAlign tblval"><code>0x0018</code></td><td class="topAlign">A menu item is triggered.</td></tr>
<tr><td class="topAlign"><code>QAccessible::MenuEnd</code></td><td class="topAlign tblval"><code>0x0005</code></td><td class="topAlign">A menu has been closed (Qt uses PopupMenuEnd for all menus).</td></tr>
<tr><td class="topAlign"><code>QAccessible::MenuStart</code></td><td class="topAlign tblval"><code>0x0004</code></td><td class="topAlign">A menu has been opened on the menubar (Qt uses PopupMenuStart for all menus).</td></tr>
<tr><td class="topAlign"><code>QAccessible::NameChanged</code></td><td class="topAlign tblval"><code>0x800C</code></td><td class="topAlign">The <a href="qaccessible.html#Text-enum">QAccessible::Name</a> property of an object has changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ObjectAttributeChanged</code></td><td class="topAlign tblval"><code>0x0110</code></td><td class="topAlign">&nbsp;</td></tr>
<tr><td class="topAlign"><code>QAccessible::ObjectCreated</code></td><td class="topAlign tblval"><code>0x8000</code></td><td class="topAlign">A new object is created.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ObjectDestroyed</code></td><td class="topAlign tblval"><code>0x8001</code></td><td class="topAlign">An object is deleted.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ObjectHide</code></td><td class="topAlign tblval"><code>0x8003</code></td><td class="topAlign">An object is hidden; for example, with <a href="../qtwidgets/qwidget.html#hide">QWidget::hide</a>(). Any children the object that is hidden has do not send this event. It is not sent when an object is hidden as it is being obcured by others.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ObjectReorder</code></td><td class="topAlign tblval"><code>0x8004</code></td><td class="topAlign">A layout or item view has added, removed, or moved an object (Qt does not use this event).</td></tr>
<tr><td class="topAlign"><code>QAccessible::ObjectShow</code></td><td class="topAlign tblval"><code>0x8002</code></td><td class="topAlign">An object is displayed; for example, with <a href="../qtwidgets/qwidget.html#show">QWidget::show</a>().</td></tr>
<tr><td class="topAlign"><code>QAccessible::PageChanged</code></td><td class="topAlign tblval"><code>0x0111</code></td><td class="topAlign">&nbsp;</td></tr>
<tr><td class="topAlign"><code>QAccessible::ParentChanged</code></td><td class="topAlign tblval"><code>0x800F</code></td><td class="topAlign">An object's parent object changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::PopupMenuEnd</code></td><td class="topAlign tblval"><code>0x0007</code></td><td class="topAlign">A pop-up menu has closed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::PopupMenuStart</code></td><td class="topAlign tblval"><code>0x0006</code></td><td class="topAlign">A pop-up menu has opened.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ScrollingEnd</code></td><td class="topAlign tblval"><code>0x0013</code></td><td class="topAlign">A scrollbar scroll operation has ended (the mouse has released the slider handle).</td></tr>
<tr><td class="topAlign"><code>QAccessible::ScrollingStart</code></td><td class="topAlign tblval"><code>0x0012</code></td><td class="topAlign">A scrollbar scroll operation is about to start; this may be caused by a mouse press on the slider handle, for example.</td></tr>
<tr><td class="topAlign"><code>QAccessible::SectionChanged</code></td><td class="topAlign tblval"><code>0x0112</code></td><td class="topAlign">&nbsp;</td></tr>
<tr><td class="topAlign"><code>QAccessible::SelectionAdd</code></td><td class="topAlign tblval"><code>0x8007</code></td><td class="topAlign">An item has been added to the selection in an item view.</td></tr>
<tr><td class="topAlign"><code>QAccessible::SelectionRemove</code></td><td class="topAlign tblval"><code>0x8008</code></td><td class="topAlign">An item has been removed from an item view selection.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Selection</code></td><td class="topAlign tblval"><code>0x8006</code></td><td class="topAlign">The selection has changed in a menu or item view.</td></tr>
<tr><td class="topAlign"><code>QAccessible::SelectionWithin</code></td><td class="topAlign tblval"><code>0x8009</code></td><td class="topAlign">Several changes to a selection has occurred in an item view.</td></tr>
<tr><td class="topAlign"><code>QAccessible::SoundPlayed</code></td><td class="topAlign tblval"><code>0x0001</code></td><td class="topAlign">A sound has been played by an object</td></tr>
<tr><td class="topAlign"><code>QAccessible::TableCaptionChanged</code></td><td class="topAlign tblval"><code>0x0113</code></td><td class="topAlign">A table caption has been changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::TableColumnDescriptionChanged</code></td><td class="topAlign tblval"><code>0x0114</code></td><td class="topAlign">The description of a table column, typically found in the column's header, has been changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::TableColumnHeaderChanged</code></td><td class="topAlign tblval"><code>0x0115</code></td><td class="topAlign">A table column header has been changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::TableRowDescriptionChanged</code></td><td class="topAlign tblval"><code>0x0117</code></td><td class="topAlign">The description of a table row, typically found in the row's header, has been changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::TableRowHeaderChanged</code></td><td class="topAlign tblval"><code>0x0118</code></td><td class="topAlign">A table row header has been changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::TableSummaryChanged</code></td><td class="topAlign tblval"><code>0x0119</code></td><td class="topAlign">The summary of a table has been changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::TextColumnChanged</code></td><td class="topAlign tblval"><code>0x011D</code></td><td class="topAlign">A text column has been changed.</td></tr>
<tr><td class="topAlign"><code>QAccessible::VisibleDataChanged</code></td><td class="topAlign tblval"><code>0x0122</code></td><td class="topAlign">&nbsp;</td></tr>
</table></div>
<p>The values for this enum are defined to be the same as those defined in the <a href="http://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/_accessible_event_i_d_8idl.html">IAccessible2</a> and <a href="http://msdn.microsoft.com/en-us/library/dd318066.aspx">MSAA</a> specifications.</p>
<!-- @@@Event -->
<!-- $$$Id -->
<h3 class="fn" id="Id-typedef"><a name="Id-typedef"></a>typedef QAccessible::<span class="name">Id</span></h3>
<p>Synonym for unsigned, used by the <a href="qaccessibleinterface.html">QAccessibleInterface</a> cache.</p>
<!-- @@@Id -->
<!-- $$$InterfaceFactory -->
<h3 class="fn" id="InterfaceFactory-typedef"><a name="InterfaceFactory-typedef"></a>typedef QAccessible::<span class="name">InterfaceFactory</span></h3>
<p>This is a typedef for a pointer to a function with the following signature:</p>
<pre class="cpp">

  <span class="keyword">typedef</span> <span class="type"><a href="qaccessibleinterface.html">QAccessibleInterface</a></span><span class="operator">*</span> myFactoryFunction(<span class="keyword">const</span> <span class="type"><a href="../qtcore/qstring.html">QString</a></span> <span class="operator">&amp;</span>key<span class="operator">,</span> <span class="type"><a href="../qtcore/qobject.html">QObject</a></span> <span class="operator">*</span>);

</pre>
<p>The function receives a <a href="../qtcore/qstring.html">QString</a> and a <a href="../qtcore/qobject.html">QObject</a> pointer, where the <a href="../qtcore/qstring.html">QString</a> is the key identifying the interface. The <a href="../qtcore/qobject.html">QObject</a> is used to pass on to the <a href="qaccessibleinterface.html">QAccessibleInterface</a> so that it can hold a reference to it.</p>
<p>If the key and the <a href="../qtcore/qobject.html">QObject</a> does not have a corresponding <a href="qaccessibleinterface.html">QAccessibleInterface</a>, <code>nullptr</code> will be returned.</p>
<p>Installed factories are called by queryAccessibilityInterface() until one provides an interface.</p>
<!-- @@@InterfaceFactory -->
<!-- $$$InterfaceType$$$TextInterface$$$EditableTextInterface$$$ValueInterface$$$ActionInterface$$$ImageInterface$$$TableInterface$$$TableCellInterface -->
<h3 class="fn" id="InterfaceType-enum"><a name="InterfaceType-enum"></a>enum QAccessible::<span class="name">InterfaceType</span></h3>
<p><a href="qaccessibleinterface.html">QAccessibleInterface</a> supports several sub interfaces. In order to provide more information about some objects, their accessible representation should implement one or more of these interfaces.</p>
<p><b>Note: </b>When subclassing one of these interfaces, <a href="qaccessibleinterface.html#interface_cast">QAccessibleInterface::interface_cast</a>() needs to be implemented.</p><div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QAccessible::TextInterface</code></td><td class="topAlign tblval"><code>0</code></td><td class="topAlign">For text that supports selections or is more than one line. Simple labels do not need to implement this interface.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ValueInterface</code></td><td class="topAlign tblval"><code>2</code></td><td class="topAlign">For objects that are used to manipulate a value, for example slider or scroll bar.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ActionInterface</code></td><td class="topAlign tblval"><code>3</code></td><td class="topAlign">For interactive objects that allow the user to trigger an action. Basically everything that allows for example mouse interaction.</td></tr>
<tr><td class="topAlign"><code>QAccessible::TableInterface</code></td><td class="topAlign tblval"><code>5</code></td><td class="topAlign">For lists, tables and trees.</td></tr>
<tr><td class="topAlign"><code>QAccessible::TableCellInterface</code></td><td class="topAlign tblval"><code>6</code></td><td class="topAlign">For cells in a TableInterface object.</td></tr>
</table></div>
<p><b>See also </b><a href="qaccessibleinterface.html#interface_cast">QAccessibleInterface::interface_cast</a>(), <a href="qaccessibletextinterface.html">QAccessibleTextInterface</a>, <a href="qaccessiblevalueinterface.html">QAccessibleValueInterface</a>, <a href="qaccessibleactioninterface.html">QAccessibleActionInterface</a>, <a href="qaccessibletableinterface.html">QAccessibleTableInterface</a>, and <a href="qaccessibletablecellinterface.html">QAccessibleTableCellInterface</a>.</p>
<!-- @@@InterfaceType -->
<!-- $$$RelationFlag$$$Label$$$Labelled$$$Controller$$$Controlled$$$AllRelations -->
<h3 class="flags" id="RelationFlag-enum"><a name="RelationFlag-enum"></a>enum QAccessible::<span class="name">RelationFlag</span><br/>flags QAccessible::<span class="name">Relation</span></h3>
<p>This enum type defines bit flags that can be combined to indicate the relationship between two accessible objects.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QAccessible::Label</code></td><td class="topAlign tblval"><code>0x00000001</code></td><td class="topAlign">The first object is the label of the second object.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Labelled</code></td><td class="topAlign tblval"><code>0x00000002</code></td><td class="topAlign">The first object is labelled by the second object.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Controller</code></td><td class="topAlign tblval"><code>0x00000004</code></td><td class="topAlign">The first object controls the second object.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Controlled</code></td><td class="topAlign tblval"><code>0x00000008</code></td><td class="topAlign">The first object is controlled by the second object.</td></tr>
<tr><td class="topAlign"><code>QAccessible::AllRelations</code></td><td class="topAlign tblval"><code>0xffffffff</code></td><td class="topAlign">Used as a mask to specify that we are interesting in information about all relations</td></tr>
</table></div>
<p>Implementations of relations() return a combination of these flags. Some values are mutually exclusive.</p>
<p>The Relation type is a typedef for <a href="../qtcore/qflags.html">QFlags</a>&lt;RelationFlag&gt;. It stores an OR combination of RelationFlag values.</p>
<!-- @@@RelationFlag -->
<!-- $$$Role$$$NoRole$$$TitleBar$$$MenuBar$$$ScrollBar$$$Grip$$$Sound$$$Cursor$$$Caret$$$AlertMessage$$$Window$$$Client$$$PopupMenu$$$MenuItem$$$ToolTip$$$Application$$$Document$$$Pane$$$Chart$$$Dialog$$$Border$$$Grouping$$$Separator$$$ToolBar$$$StatusBar$$$Table$$$ColumnHeader$$$RowHeader$$$Column$$$Row$$$Cell$$$Link$$$HelpBalloon$$$Assistant$$$List$$$ListItem$$$Tree$$$TreeItem$$$PageTab$$$PropertyPage$$$Indicator$$$Graphic$$$StaticText$$$EditableText$$$Button$$$CheckBox$$$RadioButton$$$ComboBox$$$ProgressBar$$$Dial$$$HotkeyField$$$Slider$$$SpinBox$$$Canvas$$$Animation$$$Equation$$$ButtonDropDown$$$ButtonMenu$$$ButtonDropGrid$$$Whitespace$$$PageTabList$$$Clock$$$Splitter$$$LayeredPane$$$Terminal$$$Desktop$$$Paragraph$$$WebDocument$$$Section$$$Notification$$$ColorChooser$$$Footer$$$Form$$$Heading$$$Note$$$ComplementaryContent$$$UserRole -->
<h3 class="fn" id="Role-enum"><a name="Role-enum"></a>enum QAccessible::<span class="name">Role</span></h3>
<p>This enum defines the role of an accessible object. The roles are:</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QAccessible::AlertMessage</code></td><td class="topAlign tblval"><code>0x00000008</code></td><td class="topAlign">An object that is used to alert the user.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Animation</code></td><td class="topAlign tblval"><code>0x00000036</code></td><td class="topAlign">An object that displays an animation.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Application</code></td><td class="topAlign tblval"><code>0x0000000E</code></td><td class="topAlign">The application's main window.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Assistant</code></td><td class="topAlign tblval"><code>0x00000020</code></td><td class="topAlign">An object that provids interactive help.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Border</code></td><td class="topAlign tblval"><code>0x00000013</code></td><td class="topAlign">An object that represents a border.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ButtonDropDown</code></td><td class="topAlign tblval"><code>0x00000038</code></td><td class="topAlign">A button that drops down a list of items.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ButtonDropGrid</code></td><td class="topAlign tblval"><code>0x0000003A</code></td><td class="topAlign">A button that drops down a grid.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ButtonMenu</code></td><td class="topAlign tblval"><code>0x00000039</code></td><td class="topAlign">A button that drops down a menu.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Canvas</code></td><td class="topAlign tblval"><code>0x00000035</code></td><td class="topAlign">An object that displays graphics that the user can interact with.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Caret</code></td><td class="topAlign tblval"><code>0x00000007</code></td><td class="topAlign">An object that represents the system caret (text cursor).</td></tr>
<tr><td class="topAlign"><code>QAccessible::Cell</code></td><td class="topAlign tblval"><code>0x0000001D</code></td><td class="topAlign">A cell in a table.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Chart</code></td><td class="topAlign tblval"><code>0x00000011</code></td><td class="topAlign">An object that displays a graphical representation of data.</td></tr>
<tr><td class="topAlign"><code>QAccessible::CheckBox</code></td><td class="topAlign tblval"><code>0x0000002C</code></td><td class="topAlign">An object that represents an option that can be checked or unchecked. Some options provide a &quot;mixed&quot; state, e.g&#x2e; neither checked nor unchecked.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Client</code></td><td class="topAlign tblval"><code>0x0000000A</code></td><td class="topAlign">The client area in a window.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Clock</code></td><td class="topAlign tblval"><code>0x0000003D</code></td><td class="topAlign">A clock displaying time.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ColorChooser</code></td><td class="topAlign tblval"><code>0x404</code></td><td class="topAlign">A dialog that lets the user choose a color.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Column</code></td><td class="topAlign tblval"><code>0x0000001B</code></td><td class="topAlign">A column of cells, usually within a table.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ColumnHeader</code></td><td class="topAlign tblval"><code>0x00000019</code></td><td class="topAlign">A header for a column of data.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ComboBox</code></td><td class="topAlign tblval"><code>0x0000002E</code></td><td class="topAlign">A list of choices that the user can select from.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ComplementaryContent</code></td><td class="topAlign tblval"><code>0x42C</code></td><td class="topAlign">A part of the document or web page that is complementary to the main content, usually a landmark (see WAI-ARIA).</td></tr>
<tr><td class="topAlign"><code>QAccessible::Cursor</code></td><td class="topAlign tblval"><code>0x00000006</code></td><td class="topAlign">An object that represents the mouse cursor.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Desktop</code></td><td class="topAlign tblval"><code>0x00000082</code></td><td class="topAlign">The object represents the desktop or workspace.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Dial</code></td><td class="topAlign tblval"><code>0x00000031</code></td><td class="topAlign">An object that represents a dial or knob.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Dialog</code></td><td class="topAlign tblval"><code>0x00000012</code></td><td class="topAlign">A dialog box.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Document</code></td><td class="topAlign tblval"><code>0x0000000F</code></td><td class="topAlign">A document, for example in an office application.</td></tr>
<tr><td class="topAlign"><code>QAccessible::EditableText</code></td><td class="topAlign tblval"><code>0x0000002A</code></td><td class="topAlign">Editable text such as a line or text edit.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Equation</code></td><td class="topAlign tblval"><code>0x00000037</code></td><td class="topAlign">An object that represents a mathematical equation.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Footer</code></td><td class="topAlign tblval"><code>0x40E</code></td><td class="topAlign">A footer in a page (usually in documents).</td></tr>
<tr><td class="topAlign"><code>QAccessible::Form</code></td><td class="topAlign tblval"><code>0x410</code></td><td class="topAlign">A web form containing controls.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Graphic</code></td><td class="topAlign tblval"><code>0x00000028</code></td><td class="topAlign">A graphic or picture, e.g&#x2e; an icon.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Grip</code></td><td class="topAlign tblval"><code>0x00000004</code></td><td class="topAlign">A grip that the user can drag to change the size of widgets.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Grouping</code></td><td class="topAlign tblval"><code>0x00000014</code></td><td class="topAlign">An object that represents a logical grouping of other objects.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Heading</code></td><td class="topAlign tblval"><code>0x414</code></td><td class="topAlign">A heading in a document.</td></tr>
<tr><td class="topAlign"><code>QAccessible::HelpBalloon</code></td><td class="topAlign tblval"><code>0x0000001F</code></td><td class="topAlign">An object that displays help in a separate, short lived window.</td></tr>
<tr><td class="topAlign"><code>QAccessible::HotkeyField</code></td><td class="topAlign tblval"><code>0x00000032</code></td><td class="topAlign">A hotkey field that allows the user to enter a key sequence.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Indicator</code></td><td class="topAlign tblval"><code>0x00000027</code></td><td class="topAlign">An indicator that represents a current value or item.</td></tr>
<tr><td class="topAlign"><code>QAccessible::LayeredPane</code></td><td class="topAlign tblval"><code>0x00000080</code></td><td class="topAlign">An object that can contain layered children, e.g&#x2e; in a stack.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Link</code></td><td class="topAlign tblval"><code>0x0000001E</code></td><td class="topAlign">A link to something else.</td></tr>
<tr><td class="topAlign"><code>QAccessible::List</code></td><td class="topAlign tblval"><code>0x00000021</code></td><td class="topAlign">A list of items, from which the user can select one or more items.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ListItem</code></td><td class="topAlign tblval"><code>0x00000022</code></td><td class="topAlign">An item in a list of items.</td></tr>
<tr><td class="topAlign"><code>QAccessible::MenuBar</code></td><td class="topAlign tblval"><code>0x00000002</code></td><td class="topAlign">A menu bar from which menus are opened by the user.</td></tr>
<tr><td class="topAlign"><code>QAccessible::MenuItem</code></td><td class="topAlign tblval"><code>0x0000000C</code></td><td class="topAlign">An item in a menu or menu bar.</td></tr>
<tr><td class="topAlign"><code>QAccessible::NoRole</code></td><td class="topAlign tblval"><code>0x00000000</code></td><td class="topAlign">The object has no role. This usually indicates an invalid object.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Note</code></td><td class="topAlign tblval"><code>0x41B</code></td><td class="topAlign">A section whose content is parenthetic or ancillary to the main content of the resource.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Notification</code></td><td class="topAlign tblval"><code>0x00000086</code></td><td class="topAlign">An object that represents a notification (e.g&#x2e; in the system tray). This role only has an effect on Linux.</td></tr>
<tr><td class="topAlign"><code>QAccessible::PageTab</code></td><td class="topAlign tblval"><code>0x00000025</code></td><td class="topAlign">A page tab that the user can select to switch to a different page in a dialog.</td></tr>
<tr><td class="topAlign"><code>QAccessible::PageTabList</code></td><td class="topAlign tblval"><code>0x0000003C</code></td><td class="topAlign">A list of page tabs.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Paragraph</code></td><td class="topAlign tblval"><code>0x00000083</code></td><td class="topAlign">A paragraph of text (usually found in documents).</td></tr>
<tr><td class="topAlign"><code>QAccessible::Pane</code></td><td class="topAlign tblval"><code>0x00000010</code></td><td class="topAlign">A generic container.</td></tr>
<tr><td class="topAlign"><code>QAccessible::PopupMenu</code></td><td class="topAlign tblval"><code>0x0000000B</code></td><td class="topAlign">A menu which lists options that the user can select to perform an action.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ProgressBar</code></td><td class="topAlign tblval"><code>0x00000030</code></td><td class="topAlign">The object displays the progress of an operation in progress.</td></tr>
<tr><td class="topAlign"><code>QAccessible::PropertyPage</code></td><td class="topAlign tblval"><code>0x00000026</code></td><td class="topAlign">A property page where the user can change options and settings.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Button</code></td><td class="topAlign tblval"><code>0x0000002B</code></td><td class="topAlign">A button.</td></tr>
<tr><td class="topAlign"><code>QAccessible::RadioButton</code></td><td class="topAlign tblval"><code>0x0000002D</code></td><td class="topAlign">An object that represents an option that is mutually exclusive with other options.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Row</code></td><td class="topAlign tblval"><code>0x0000001C</code></td><td class="topAlign">A row of cells, usually within a table.</td></tr>
<tr><td class="topAlign"><code>QAccessible::RowHeader</code></td><td class="topAlign tblval"><code>0x0000001A</code></td><td class="topAlign">A header for a row of data.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ScrollBar</code></td><td class="topAlign tblval"><code>0x00000003</code></td><td class="topAlign">A scroll bar, which allows the user to scroll the visible area.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Section</code></td><td class="topAlign tblval"><code>0x00000085</code></td><td class="topAlign">A section (in a document).</td></tr>
<tr><td class="topAlign"><code>QAccessible::Separator</code></td><td class="topAlign tblval"><code>0x00000015</code></td><td class="topAlign">A separator that divides space into logical areas.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Slider</code></td><td class="topAlign tblval"><code>0x00000033</code></td><td class="topAlign">A slider that allows the user to select a value within a given range.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Sound</code></td><td class="topAlign tblval"><code>0x00000005</code></td><td class="topAlign">An object that represents a sound.</td></tr>
<tr><td class="topAlign"><code>QAccessible::SpinBox</code></td><td class="topAlign tblval"><code>0x00000034</code></td><td class="topAlign">A spin box widget that allows the user to enter a value within a given range.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Splitter</code></td><td class="topAlign tblval"><code>0x0000003E</code></td><td class="topAlign">A splitter distributing available space between its child widgets.</td></tr>
<tr><td class="topAlign"><code>QAccessible::StaticText</code></td><td class="topAlign tblval"><code>0x00000029</code></td><td class="topAlign">Static text, such as labels for other widgets.</td></tr>
<tr><td class="topAlign"><code>QAccessible::StatusBar</code></td><td class="topAlign tblval"><code>0x00000017</code></td><td class="topAlign">A status bar.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Table</code></td><td class="topAlign tblval"><code>0x00000018</code></td><td class="topAlign">A table representing data in a grid of rows and columns.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Terminal</code></td><td class="topAlign tblval"><code>0x00000081</code></td><td class="topAlign">A terminal or command line interface.</td></tr>
<tr><td class="topAlign"><code>QAccessible::TitleBar</code></td><td class="topAlign tblval"><code>0x00000001</code></td><td class="topAlign">The title bar caption of a window.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ToolBar</code></td><td class="topAlign tblval"><code>0x00000016</code></td><td class="topAlign">A tool bar, which groups widgets that the user accesses frequently.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ToolTip</code></td><td class="topAlign tblval"><code>0x0000000D</code></td><td class="topAlign">A tool tip which provides information about other objects.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Tree</code></td><td class="topAlign tblval"><code>0x00000023</code></td><td class="topAlign">A list of items in a tree structure.</td></tr>
<tr><td class="topAlign"><code>QAccessible::TreeItem</code></td><td class="topAlign tblval"><code>0x00000024</code></td><td class="topAlign">An item in a tree structure.</td></tr>
<tr><td class="topAlign"><code>QAccessible::UserRole</code></td><td class="topAlign tblval"><code>0x0000ffff</code></td><td class="topAlign">The first value to be used for user defined roles.</td></tr>
<tr><td class="topAlign"><code>QAccessible::WebDocument</code></td><td class="topAlign tblval"><code>0x00000084</code></td><td class="topAlign">HTML document, usually in a browser.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Whitespace</code></td><td class="topAlign tblval"><code>0x0000003B</code></td><td class="topAlign">Blank space between other objects.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Window</code></td><td class="topAlign tblval"><code>0x00000009</code></td><td class="topAlign">A top level window.</td></tr>
</table></div>
<!-- @@@Role -->
<!-- $$$Text$$$Name$$$Description$$$Value$$$Help$$$Accelerator$$$DebugDescription$$$UserText -->
<h3 class="fn" id="Text-enum"><a name="Text-enum"></a>enum QAccessible::<span class="name">Text</span></h3>
<p>This enum specifies string information that an accessible object returns.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QAccessible::Name</code></td><td class="topAlign tblval"><code>0</code></td><td class="topAlign">The name of the object. This can be used both as an identifier or a short description by accessible clients.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Description</code></td><td class="topAlign tblval"><code>1</code></td><td class="topAlign">A short text describing the object.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Value</code></td><td class="topAlign tblval"><code>2</code></td><td class="topAlign">The value of the object.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Help</code></td><td class="topAlign tblval"><code>3</code></td><td class="topAlign">A longer text giving information about how to use the object.</td></tr>
<tr><td class="topAlign"><code>QAccessible::Accelerator</code></td><td class="topAlign tblval"><code>4</code></td><td class="topAlign">The keyboard shortcut that executes the object's default action.</td></tr>
<tr><td class="topAlign"><code>QAccessible::UserText</code></td><td class="topAlign tblval"><code>0x0000ffff</code></td><td class="topAlign">The first value to be used for user defined text.</td></tr>
</table></div>
<!-- @@@Text -->
<!-- $$$TextBoundaryType$$$CharBoundary$$$WordBoundary$$$SentenceBoundary$$$ParagraphBoundary$$$LineBoundary$$$NoBoundary -->
<h3 class="fn" id="TextBoundaryType-enum"><a name="TextBoundaryType-enum"></a>enum QAccessible::<span class="name">TextBoundaryType</span></h3>
<p>This enum describes different types of text boundaries. It follows the <a href="qtgui-attribution-iaccessible2.html#iaccessible2">IAccessible2</a> API and is used in the <a href="qaccessibletextinterface.html">QAccessibleTextInterface</a>.</p>
<div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tblval">Value</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>QAccessible::CharBoundary</code></td><td class="topAlign tblval"><code>0</code></td><td class="topAlign">Use individual characters as boundary.</td></tr>
<tr><td class="topAlign"><code>QAccessible::WordBoundary</code></td><td class="topAlign tblval"><code>1</code></td><td class="topAlign">Use words as boundaries.</td></tr>
<tr><td class="topAlign"><code>QAccessible::SentenceBoundary</code></td><td class="topAlign tblval"><code>2</code></td><td class="topAlign">Use sentences as boundary.</td></tr>
<tr><td class="topAlign"><code>QAccessible::ParagraphBoundary</code></td><td class="topAlign tblval"><code>3</code></td><td class="topAlign">Use paragraphs as boundary.</td></tr>
<tr><td class="topAlign"><code>QAccessible::LineBoundary</code></td><td class="topAlign tblval"><code>4</code></td><td class="topAlign">Use newlines as boundary.</td></tr>
<tr><td class="topAlign"><code>QAccessible::NoBoundary</code></td><td class="topAlign tblval"><code>5</code></td><td class="topAlign">No boundary (use the whole text).</td></tr>
</table></div>
<p><b>See also </b><a href="qaccessibletextinterface.html">QAccessibleTextInterface</a>.</p>
<!-- @@@TextBoundaryType -->
</div>
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$accessibleInterface[overload1]$$$accessibleInterfaceQAccessible::Id -->
<h3 class="fn" id="accessibleInterface"><a name="accessibleInterface"></a><code>[static] </code><span class="type"><a href="qaccessibleinterface.html">QAccessibleInterface</a></span> *QAccessible::<span class="name">accessibleInterface</span>(<span class="type"><a href="qaccessible.html#Id-typedef">QAccessible::Id</a></span> <i>id</i>)</h3>
<p>Returns the <a href="qaccessibleinterface.html">QAccessibleInterface</a> belonging to the <i>id</i>.</p>
<p>Returns <code>nullptr</code> if the id is invalid.</p>
<!-- @@@accessibleInterface -->
<!-- $$$deleteAccessibleInterface[overload1]$$$deleteAccessibleInterfaceQAccessible::Id -->
<h3 class="fn" id="deleteAccessibleInterface"><a name="deleteAccessibleInterface"></a><code>[static] </code><span class="type">void</span> QAccessible::<span class="name">deleteAccessibleInterface</span>(<span class="type"><a href="qaccessible.html#Id-typedef">QAccessible::Id</a></span> <i>id</i>)</h3>
<p>Removes the interface belonging to this <i>id</i> from the cache and deletes it. The id becomes invalid an may be re-used by the cache.</p>
<!-- @@@deleteAccessibleInterface -->
<!-- $$$installFactory[overload1]$$$installFactoryQAccessible::InterfaceFactory -->
<h3 class="fn" id="installFactory"><a name="installFactory"></a><code>[static] </code><span class="type">void</span> QAccessible::<span class="name">installFactory</span>(<span class="type"><a href="qaccessible.html#InterfaceFactory-typedef">QAccessible::InterfaceFactory</a></span> <i>factory</i>)</h3>
<p>Installs the <a href="qaccessible.html#InterfaceFactory-typedef">InterfaceFactory</a> <i>factory</i>. The last factory added is the first one used by <a href="qaccessible.html#queryAccessibleInterface">queryAccessibleInterface</a>().</p>
<!-- @@@installFactory -->
<!-- $$$isActive[overload1]$$$isActive -->
<h3 class="fn" id="isActive"><a name="isActive"></a><code>[static] </code><span class="type">bool</span> QAccessible::<span class="name">isActive</span>()</h3>
<p>Returns <code>true</code> if the platform requested accessibility information.</p>
<p>This function will return false until a tool such as a screen reader accessed the accessibility framework. It is still possible to use <a href="qaccessible.html#queryAccessibleInterface">QAccessible::queryAccessibleInterface</a>() even if accessibility is not active. But there will be no notifications sent to the platform.</p>
<p>It is recommended to use this function to prevent expensive notifications via updateAccessibility() when they are not needed.</p>
<!-- @@@isActive -->
<!-- $$$queryAccessibleInterface[overload1]$$$queryAccessibleInterfaceQObject* -->
<h3 class="fn" id="queryAccessibleInterface"><a name="queryAccessibleInterface"></a><code>[static] </code><span class="type"><a href="qaccessibleinterface.html">QAccessibleInterface</a></span> *QAccessible::<span class="name">queryAccessibleInterface</span>(<span class="type"><a href="../qtcore/qobject.html">QObject</a></span> *<i>object</i>)</h3>
<p>If a <a href="qaccessibleinterface.html">QAccessibleInterface</a> implementation exists for the given <i>object</i>, this function returns a pointer to the implementation; otherwise it returns <code>nullptr</code>.</p>
<p>The function calls all installed factory functions (from most recently installed to least recently installed) until one is found that provides an interface for the class of <i>object</i>. If no factory can provide an accessibility implementation for the class the function loads installed accessibility plugins, and tests if any of the plugins can provide the implementation.</p>
<p>If no implementation for the object's class is available, the function tries to find an implementation for the object's parent class, using the above strategy.</p>
<p>All interfaces are managed by an internal cache and should not be deleted.</p>
<!-- @@@queryAccessibleInterface -->
<!-- $$$registerAccessibleInterface[overload1]$$$registerAccessibleInterfaceQAccessibleInterface* -->
<h3 class="fn" id="registerAccessibleInterface"><a name="registerAccessibleInterface"></a><code>[static] </code><span class="type"><a href="qaccessible.html#Id-typedef">QAccessible::Id</a></span> QAccessible::<span class="name">registerAccessibleInterface</span>(<span class="type"><a href="qaccessibleinterface.html">QAccessibleInterface</a></span> *<i>iface</i>)</h3>
<p>Call this function to ensure that manually created interfaces are properly memory managed.</p>
<p>Must only be called exactly once per interface <i>iface</i>. This is implicitly called when calling <a href="qaccessible.html#queryAccessibleInterface">queryAccessibleInterface</a>, calling this function is only required when QAccessibleInterfaces are instantiated with the &quot;new&quot; operator. This is not recommended, whenever possible use the default functions and let <a href="qaccessible.html#queryAccessibleInterface">queryAccessibleInterface</a>() take care of this.</p>
<p>When it is necessary to reimplement the <a href="qaccessibleinterface.html#child">QAccessibleInterface::child</a>() function and returning the child after constructing it, this function needs to be called.</p>
<!-- @@@registerAccessibleInterface -->
<!-- $$$removeFactory[overload1]$$$removeFactoryQAccessible::InterfaceFactory -->
<h3 class="fn" id="removeFactory"><a name="removeFactory"></a><code>[static] </code><span class="type">void</span> QAccessible::<span class="name">removeFactory</span>(<span class="type"><a href="qaccessible.html#InterfaceFactory-typedef">QAccessible::InterfaceFactory</a></span> <i>factory</i>)</h3>
<p>Removes <i>factory</i> from the list of installed InterfaceFactories.</p>
<!-- @@@removeFactory -->
<!-- $$$setRootObject[overload1]$$$setRootObjectQObject* -->
<h3 class="fn" id="setRootObject"><a name="setRootObject"></a><code>[static] </code><span class="type">void</span> QAccessible::<span class="name">setRootObject</span>(<span class="type"><a href="../qtcore/qobject.html">QObject</a></span> *<i>object</i>)</h3>
<p>Sets the root object of the accessible objects of this application to <i>object</i>. All other accessible objects are reachable using object navigation from the root object.</p>
<p>Normally, it isn't necessary to call this function, because Qt sets the <a href="../qtwidgets/qapplication.html">QApplication</a> object as the root object immediately before the event loop is entered in <a href="../qtwidgets/qapplication.html#exec">QApplication::exec</a>().</p>
<p>Use QAccessible::installRootObjectHandler() to redirect the function call to a customized handler function.</p>
<p><b>See also </b><a href="qaccessible.html#queryAccessibleInterface">queryAccessibleInterface</a>().</p>
<!-- @@@setRootObject -->
<!-- $$$uniqueId[overload1]$$$uniqueIdQAccessibleInterface* -->
<h3 class="fn" id="uniqueId"><a name="uniqueId"></a><code>[static] </code><span class="type"><a href="qaccessible.html#Id-typedef">QAccessible::Id</a></span> QAccessible::<span class="name">uniqueId</span>(<span class="type"><a href="qaccessibleinterface.html">QAccessibleInterface</a></span> *<i>iface</i>)</h3>
<p>Returns the unique ID for the <a href="qaccessibleinterface.html">QAccessibleInterface</a> <i>iface</i>.</p>
<!-- @@@uniqueId -->
<!-- $$$updateAccessibility$$$updateAccessibilityQAccessibleEvent* -->
<h3 class="fn" id="updateAccessibility-1"><a name="updateAccessibility-1"></a><code>[static] </code><span class="type">void</span> QAccessible::<span class="name">updateAccessibility</span>(<span class="type"><a href="qaccessibleevent.html">QAccessibleEvent</a></span> *<i>event</i>)</h3>
<p>Notifies about a change that might be relevant for accessibility clients.</p>
<p><i>event</i> provides details about the change. These include the source of the change and the nature of the change. The <i>event</i> should contain enough information give meaningful notifications.</p>
<p>For example, the type <code>ValueChange</code> indicates that the position of a slider has been changed.</p>
<p>Call this function whenever the state of your accessible object or one of its sub-elements has been changed either programmatically (e.g&#x2e; by calling <a href="../qtwidgets/qlabel.html#text-prop">QLabel::setText</a>()) or by user interaction.</p>
<p>If there are no accessibility tools listening to this event, the performance penalty for calling this function is small, but if determining the parameters of the call is expensive you can test <a href="qaccessible.html#isActive">QAccessible::isActive</a>() to avoid unnecessary computation.</p>
<!-- @@@updateAccessibility -->
</div>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2020 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>
